package pl.gigiel.behaviour;

import pl.gigiel.behaviour.exception.BehaviourException;

public interface IBoid {
	IEnvironment getEnvironment();

	void setEnvironment(IEnvironment environment);

	ISteerManager getSteerManager();

	void setSteerManager(ISteerManager steerManager);

	IBoidFeatures getFeatures();

	void setFeatures(IBoidFeatures features);

	void init() throws BehaviourException;

	void prepare(float elapsed) throws BehaviourException;

	void perform() throws BehaviourException;
}
